﻿<%@ Page Title="Quyết toán" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="QuyetToan.aspx.cs" Inherits="QuanLyHopDong.Web.HopDong.QuyetToan" %>

<%@ Import Namespace="Resources" %>

<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
    <h3>Hợp đồng</h3>
    <div>
        <b>Số hợp đồng:</b> <a href="Edit.aspx?id=<%=Request.Params["hopDongId"] %>"><asp:Literal ID="ltrSoHopDong" runat="server"></asp:Literal></a><br />
        <b>Tên hợp đồng:</b> <asp:Literal ID="ltrTenHopDong" runat="server"></asp:Literal><br />
        <b>Giá trị hợp đồng chưa VAT:</b> <asp:Literal ID="ltrGiaTriChuaVat" runat="server"></asp:Literal><br />
        <b>VAT:</b> <asp:Literal ID="ltrGiaTriVat" runat="server"></asp:Literal><br />
        <b>Tổng giá trị hợp đồng:</b> <asp:Literal ID="ltrGiaTriTong" runat="server"></asp:Literal><br />
        <b>Giá trị vật tư:</b> <asp:Literal ID="ltrGiaTriVatTu" runat="server"></asp:Literal><br />
        <b>Giá trị nhân công:</b> <asp:Literal ID="ltrGiaTriNhanCong" runat="server"></asp:Literal><br />
    </div>

    <span class="failureNotification">
        <asp:Literal ID="lblErrorMessage" runat="server"></asp:Literal></span>

    <div id="tabs">
        <ul>
            <li><a href="#tabs-1">Thanh toán</a></li>
            <li><a href="#tabs-2">Quyết toán</a></li>
            <li><a href="#tabs-3">Quyết toán nội bộ</a></li>
        </ul>
        <div id="tabs-1">
            <div>
                <table>
                    <tr><td>Tổng số tiền đã thanh toán: </td><td class="right"><span id="totalDaThanhToan"></span></td></tr>
                    <tr><td>Tổng số tiền chưa thanh toán: </td><td class="right"><span id="totalChuaThanhToan"></span></td></tr>
                </table>
                <br />
                
            </div>
            <div id="ThanhToan"></div>
            <input type="button" id="btnNhapThanhToan" value="Nhập thanh toán" />
            <div id="dlgThanhToan" title="Nhập thanh toán">
                <table>
                    <tr><td>Nội dung: </td><td><asp:TextBox ID="txtNoiDung" runat="server" CssClass="name"></asp:TextBox></td></tr>
                    <tr><td>Số tiền: </td><td><asp:TextBox ID="txtSoTien" runat="server"></asp:TextBox></td></tr>
                    <tr><td>Chứng từ: </td><td><asp:FileUpload ID="fileChungTu" runat="server" /></td></tr>
                    <tr><td>Thanh toán: </td><td><asp:RadioButton ID="rbtDaThanhToan" runat="server" GroupName="ThanhToan" Checked="True" /> Đã thanh toán
                <asp:RadioButton ID="rbtChuaThanhToan" runat="server" GroupName="ThanhToan" /> Chưa thanh toán</td></tr>
                </table>
            </div>
            <div style="display: none;">
                <asp:Button ID="btnSaveThanhToan" runat="server" Text="Save" OnClick="btnSaveThanhToan_Click" />
            </div>

            <div id="dlgThanhToanEdit" title="Cập nhật thanh toán">
                <asp:HiddenField ID="hidThanhToanId" runat="server" />
                <table>
                    <tr><td>Nội dung: </td><td><asp:TextBox ID="txtNoiDungEdit" runat="server" CssClass="name"></asp:TextBox></td></tr>
                    <tr><td>Số tiền: </td><td><asp:TextBox ID="txtSoTienEdit" runat="server"></asp:TextBox></td></tr>
                    <tr><td>Chứng từ: </td><td><span id="spChungTu"><br/></span><asp:FileUpload ID="fileChungTuEdit" runat="server" /></td></tr>
                    <tr><td>Thanh toán: </td><td><asp:RadioButton ID="rbtDaThanhToanEdit" runat="server" GroupName="ThanhToanEdit" /> Đã thanh toán
                <asp:RadioButton ID="rbtChuaThanhToanEdit" runat="server" GroupName="ThanhToanEdit" /> Chưa thanh toán</td></tr>
                </table>
            </div>
            <div style="display: none;">
                <asp:Button ID="btnUpdateThanhToan" runat="server" Text="Save" OnClick="btnUpdateThanhToan_Click" />
            </div>
        </div>
        <div id="tabs-2">
            <div>
                <table>
                    <tr>
                        <td style="vertical-align: top;">
                            <div style="margin-right: 50px; vertical-align: top;">
                                <p>
                                    <label>Giá trị Quyết toán:</label>
                                    <asp:TextBox ID="txtGiaTriQuyetToan" runat="server" CssClass="textEntry name"></asp:TextBox>
                                </p>
                                <p>
                                    <label>Giá trị vật tư:</label>
                                    <asp:TextBox ID="txtGiaTriVatTuQuyetToan" runat="server" CssClass="textEntry name"></asp:TextBox>
                                </p>
                                <p>
                                    <label>Giá trị nhân công:</label>
                                    <asp:TextBox ID="txtGiaTriNhanCongQuyetToan" runat="server" CssClass="textEntry name"></asp:TextBox>
                                </p>
                                <p>
                                    <label>Ngày quyết toán:</label>
                                    <asp:TextBox ID="txtNgayQuyetToan" runat="server" CssClass="textEntry date datepicker"></asp:TextBox>
                                </p>
                            </div>
                        </td>
                        <td style="vertical-align: top;">
                            <div style="vertical-align: top;">
                                <p>
                                    <label>Giá trị HĐ chưa VAT:</label>
                                    <asp:TextBox ID="txtGiaTriHopDongChuaVATQuyetToan" runat="server" CssClass="textEntry name"></asp:TextBox>
                                </p>
                                <p>
                                    <label>VAT:</label>
                                    <asp:TextBox ID="txtVatQuyetToan" runat="server" CssClass="textEntry name"></asp:TextBox>
                                </p>
                                <%--<p>
                                    <label>Tổng giá tri  Quyết toán:</label>
                                    <asp:TextBox ID="txtTongGiaTriQuyetToan" runat="server" CssClass="textEntry name"></asp:TextBox>
                                </p>--%>
                                <p>
                                    <label>Chi phí khác:</label>
                                    <asp:TextBox ID="txtChiPhiKhacQuyetToan" runat="server" CssClass="textEntry name"></asp:TextBox>
                                </p>
                            </div>
                        </td>
                    </tr>
                </table>
                <asp:Button ID="btnSaveQuyetToan" runat="server" Text="Lưu quyết toán" OnClick="btnSaveQuyetToan_Click" />
            </div>
        </div>
        <div id="tabs-3">
            <div>
                <table>
                    <tr><td>Tổng số tiền vật tư đã quyết toán: </td><td class="right"><span id="totalVatTuQuyetToan"></span></td></tr>
                    <tr><td>Tổng số tiền nhân công đã quyết toán: </td><td class="right"><span id="totalNhanCongQuyetToan"></span></td></tr>
                </table>
            </div>
            <div id="QuyetToanNoiBo"></div>
            <input type="button" id="btnNhapQuyetToanNoiBo" value="Nhập Quyết toán nội bộ" />
            <div style="display: none;">
                <asp:Button ID="btnSaveQuyetToanNoiBo" runat="server" Text="Save" OnClick="btnSaveQuyetToanNoiBo_Click" />
            </div>
            <div id="dlgQuyetToanNoiBo" title="Nhập Quyết toán nội bộ">
                <table>
                    <tr><td>Loại quyết toán: </td><td><asp:DropDownList ID="ddlLoaiQuyetToan" runat="server">
                                     <asp:ListItem Value="1">Vật tư</asp:ListItem>
                                     <asp:ListItem Value="2">Nhân công</asp:ListItem>
                                 </asp:DropDownList></td></tr>
                    <tr><td>Nội dung: </td><td><asp:TextBox ID="txtQuyetToanNoiBoTen" runat="server" CssClass="name"></asp:TextBox></td></tr>
                    <tr><td>Số tiền: </td><td><asp:TextBox ID="txtQuyetToanNoiBoSoTien" runat="server"></asp:TextBox></td></tr>
                    <tr><td>Chứng từ: </td><td><asp:FileUpload ID="fileQuyetToanNoiBoChungTu" runat="server" /></td></tr>
                </table>
            </div>
            <div id="dlgQuyetToanNoiBoEdit" title="Cập Quyết toán nội bộ">
                <asp:HiddenField ID="hidQuyetToanNoiBoId" runat="server" />
                <table>
                    <tr><td>Loại quyết toán: </td><td><asp:DropDownList ID="ddlLoaiQuyetToanEdit" runat="server">
                                     <asp:ListItem Value="1">Vật tư</asp:ListItem>
                                     <asp:ListItem Value="2">Nhân công</asp:ListItem>
                                 </asp:DropDownList></td></tr>
                    <tr><td>Nội dung: </td><td><asp:TextBox ID="txtQuyetToanNoiBoTenEdit" runat="server" CssClass="name"></asp:TextBox></td></tr>
                    <tr><td>Số tiền: </td><td><asp:TextBox ID="txtQuyetToanNoiBoSoTienEdit" runat="server"></asp:TextBox></td></tr>
                    <tr><td>Chứng từ: </td><td><span id="spQuyetToanNoiBoChungTu"></span><br/>
                    <asp:FileUpload ID="fileQuyetToanNoiBoChungTuEdit" runat="server" /></td></tr>
                </table>
            </div>
            <div style="display: none;">
                <asp:Button ID="btnUpdateQuyetToanNoiBo" runat="server" Text="Save" OnClick="btnUpdateQuyetToanNoiBo_Click" />
            </div>
        </div>
    </div>

    <script type="text/javascript">
        var _hopDongId = <%=Request.Params["hopDongId"] %>;
        var clientIds = {
            HidThanhToanId: "#<%=hidThanhToanId.ClientID %>",
            EditNoiDungId: "#<%=txtNoiDungEdit.ClientID %>",
            EditSoTienId: "#<%=txtSoTienEdit.ClientID %>",
            EditDaThanhToanId: "#<%=rbtDaThanhToanEdit.ClientID %>",
            EditChuaThanhToanId: "#<%=rbtChuaThanhToanEdit.ClientID %>",
            SaveThanhToan: "#<%=btnSaveThanhToan.ClientID %>",
            UpdateThanhToan: "#<%=btnUpdateThanhToan.ClientID %>",
            SaveQuyetToanNoiBo: "#<%=btnSaveQuyetToanNoiBo.ClientID %>",
            HidQuyetToanNoiBoId: "#<%=hidQuyetToanNoiBoId.ClientID %>",
            EditQuyetToanNoiBoTenId: "#<%=txtQuyetToanNoiBoTenEdit.ClientID %>",
            EditQuyetToanNoiBoSoTienId: "#<%=txtQuyetToanNoiBoSoTienEdit.ClientID %>",
            UpdateQuyetToanNoiBo: "#<%=btnUpdateQuyetToanNoiBo.ClientID %>",
            EditLoaiQuyetToan: "#<%=ddlLoaiQuyetToanEdit.ClientID %>"
        };

        $(function() {
            // init tabs
            $("#tabs").tabs();
            $(window.theForm).validationEngine();

            var dlgThanhToan = $('#dlgThanhToan').dialog({
                autoOpen: false,
                modal: true,
                width: 600,
                buttons: {
                    "Save": function() {
                        $(clientIds.SaveThanhToan).click();
                    },
                    Cancel: function() {
                        dlgThanhToan.dialog( "close" );
                    }
                }
            });
            dlgThanhToan.parent().appendTo($("form:first")).css({ "z-index": "101" });

            var dlgThanhToanEdit = $('#dlgThanhToanEdit').dialog({
                autoOpen: false,
                modal: true,
                width: 600,
                buttons: {
                    "Save": function() {
                        $(clientIds.UpdateThanhToan).click();
                    },
                    Cancel: function() {
                        dlgThanhToanEdit.dialog( "close" );
                    }
                }
            });
            dlgThanhToanEdit.parent().appendTo($("form:first")).css({ "z-index": "101" });
            $('#btnNhapThanhToan').click(function() {
                dlgThanhToan.dialog("open");
            });

            LoadThanhToan();
            $('#ThanhToan').jtable(
                'load',
                { hopDongId: _hopDongId }
            );
            LoadTotalThanhToan();

            $("#<%=txtNgayQuyetToan.ClientID %>").calendar({ timeSeparators: null });

            // Quyet toan noi bo
            var dlgQuyetToanNoiBo = $('#dlgQuyetToanNoiBo').dialog({
                autoOpen: false,
                modal: true,
                width: 600,
                buttons: {
                    "Save": function() {
                        $(clientIds.SaveQuyetToanNoiBo).click();
                    },
                    Cancel: function() {
                        dlgQuyetToanNoiBo.dialog( "close" );
                    }
                }
            });
            dlgQuyetToanNoiBo.parent().appendTo($("form:first")).css({ "z-index": "101" });
            var dlgQuyetToanNoiBoEdit = $('#dlgQuyetToanNoiBoEdit').dialog({
                autoOpen: false,
                modal: true,
                width: 600,
                buttons: {
                    "Save": function() {
                        $(clientIds.UpdateQuyetToanNoiBo).click();
                    },
                    Cancel: function() {
                        dlgQuyetToanNoiBoEdit.dialog( "close" );
                    }
                }
            });
            dlgQuyetToanNoiBoEdit.parent().appendTo($("form:first")).css({ "z-index": "101" });

            $('#btnNhapQuyetToanNoiBo').on("click", function(e) {
                e.preventDefault();
                dlgQuyetToanNoiBo.dialog("open");
            });

            LoadQuyetToanNoiBo();
            $('#QuyetToanNoiBo').jtable(
                'load',
                { hopDongId: _hopDongId }
            );
            LoadTotalQuyetToan();
        });
    </script>
    
    <!-- Thanh toan -->
    <script type="text/javascript">
        function LoadTotalThanhToan() {
            $.ajax({
                url: "QuyetToan.aspx/GetTotalThanhToan",
                type: "post",
                contentType: "application/json",
                data: JSON.stringify({
                    hopDongId: _hopDongId
                }),
                success: function(data) {
                    $("#totalDaThanhToan").text(custom_number_format(data.d.TotalDaThanhToan));
                    $("#totalChuaThanhToan").text(custom_number_format(data.d.TotalChuaThanhToan));
                }
            });
        }

        function LoadThanhToan() {
            $('#ThanhToan').jtable({
                actions: {
                    listAction: 'QuyetToan.aspx/ThanhToanList',
                    deleteAction: 'QuyetToan.aspx/ThanhToanDelete'
                },
                recordDeleted: function(event, data) {
                    $('#ThanhToan').jtable('reload');
                    LoadTotalThanhToan();
                },
                fields: {
                    Id: {
                        title: 'STT',
                        key: true,
                        create: false,
                        edit: false,
                        width: '2%',
                        list: false
                    },
                    Edit: {
                        title: '',
                        width: '1%',
                        display: function(data) {
                            return '<input title="<%=GlobalStrings.Edit %>" class="jtable-command-button jtable-edit-command-button"' +
                                ' onclick="EditThanhToan('
                                + data.record.Id + ',\''
                                + data.record.Ten + '\',\''
                                + data.record.SoTien + '\',\''
                                + data.record.ChungTu + '\','
                                + data.record.DaThanhToan
                                + ');" />';
                        },
                        sorting: false
                    },
                    Ten: { title: 'Nội dung' },
                    SoTien: {
                        title: 'Số tiền',
                        display: function(data) {
                            return custom_number_format(data.record.SoTien);
                        },
                        listClass: 'right'
                    },
                    ChungTu: {
                        title: 'Chứng từ',
                        display: function(data) {
                            if (data.record.ChungTu) {
                                return '<a target="_blank" href="/Files/HopDong/' + _hopDongId + '/' + data.record.ChungTu + '">' + data.record.ChungTu + '</a>';
                            }
                            return "";
                        }
                    },
                    DaThanhToan: {
                        title: '',
                        display: function(data) {
                            return data.record.DaThanhToan ? 'Đã thanh toán' : 'Chưa thanh toán';
                        }
                    }
                }
            });
        }

        function EditThanhToan(id, ten, soTien, chungTu, daThanhToan) {
            $(clientIds.HidThanhToanId).val(id);
            $(clientIds.EditNoiDungId).val(ten);
            $(clientIds.EditSoTienId).val(soTien);
            if (chungTu != null && chungTu != '' && chungTu != 'null') {
                var htmlChungTu = '<a target="_blank" href="/Files/HopDong/' + _hopDongId + '/' + chungTu + '">' + chungTu + '</a>';
                htmlChungTu += '&nbsp;<a href="javascript:void(0);" onclick="DeleteChungTu(' + id + ');" style="color:red;">Xóa file</a>';
                $('#spChungTu').html(htmlChungTu);
            } else {
                $('#spChungTu').html('');
            }

            if (daThanhToan) {
                $(clientIds.EditDaThanhToanId).prop("checked", true);
            } else {
                $(clientIds.EditChuaThanhToanId).prop("checked", true);
            }

            $('#dlgThanhToanEdit').dialog('open');
        }

        function DeleteChungTu(thanhToanId) {
            if (confirm('Xóa file chứng từ?')) {
                $.ajax({
                    url: "QuyetToan.aspx/DeleteChungTu",
                    type: "post",
                    contentType: "application/json",
                    data: JSON.stringify({
                        thanhToanId: thanhToanId
                    }),
                    success: function(data) {
                        $('#spChungTu').html('');
                        $('#ThanhToan').jtable(
                            'load',
                            { hopDongId: _hopDongId }
                        );
                    }
                });
            }
        }
    </script>
    
    <!-- Quyet toan noi bo -->
    <script type="text/javascript">
        function LoadQuyetToanNoiBo() {
            $('#QuyetToanNoiBo').jtable({
                actions: {
                    listAction: 'QuyetToan.aspx/QuyetToanNoiBoList',
                    deleteAction: 'QuyetToan.aspx/QuyetToanNoiBoDelete'
                },
                recordDeleted: function (event, data) {
                    $('#QuyetToanNoiBo').jtable('reload');
                    LoadTotalQuyetToan();
                },
                fields: {
                    Id: {
                        title: 'STT',
                        key: true,
                        create: false,
                        edit: false,
                        width: '2%',
                        list: false
                    },
                    Edit: {
                        title: '',
                        width: '1%',
                        display: function(data) {
                            return '<input title="<%=GlobalStrings.Edit %>" class="jtable-command-button jtable-edit-command-button"' +
                                ' onclick="EditQuyetToanNoiBo('
                                + data.record.Id + ',\''
                                + data.record.Ten + '\',\''
                                + data.record.SoTien + '\',\''
                                + data.record.ChungTu + '\',\''
                                + data.record.LoaiQuyetToanId + '\''
                                + ');" />';
                        },
                        sorting: false
                    },
                    Ten: { title: 'Nội dung' },
                    SoTien: {
                        title: 'Số tiền',
                        display: function(data) {
                            return custom_number_format(data.record.SoTien);
                        },
                        listClass: 'right'
                    },
                    ChungTu: {
                        title: 'Chứng từ',
                        display: function(data) {
                            if (data.record.ChungTu) {
                                return '<a target="_blank" href="/Files/HopDong/' + _hopDongId + '/' + data.record.ChungTu + '">' + data.record.ChungTu + '</a>';
                            }
                            return "";
                        }
                    },
                    LoaiQuyetToan: {
                        title: 'Loại quyết toán',
                        display: function(data) {
                            switch (data.record.LoaiQuyetToanId) {
                            case 1:
                                return 'Vật tư';
                            case 2:
                                return 'Nhân công';
                            default:
                                return '';
                            }
                        }
                    }
                }
            });
        }

        function EditQuyetToanNoiBo(id, ten, soTien, chungTu, loaiQuyetToanId) {
            $(clientIds.HidQuyetToanNoiBoId).val(id);
            $(clientIds.EditLoaiQuyetToan).val(loaiQuyetToanId);
            $(clientIds.EditQuyetToanNoiBoTenId).val(ten);
            $(clientIds.EditQuyetToanNoiBoSoTienId).val(soTien);
            if (chungTu != null && chungTu != '' && chungTu != 'null') {
                var htmlChungTu = '<a target="_blank" href="/Files/HopDong/' + _hopDongId + '/' + chungTu + '">' + chungTu + '</a>';
                htmlChungTu += '&nbsp;<a href="javascript:void(0);" onclick="DeleteQuyetToanNoiBoChungTu(' + id + ');" style="color:red;">Xóa file</a>';
                $('#spQuyetToanNoiBoChungTu').html(htmlChungTu);
            } else {
                $('#spQuyetToanNoiBoChungTu').html('');
            }

            $('#dlgQuyetToanNoiBoEdit').dialog('open');
        }

        function DeleteQuyetToanNoiBoChungTu(quyetToanNoiBoId) {
            if (confirm('Xóa file chứng từ?')) {
                $.ajax({
                    url: "QuyetToan.aspx/DeleteQuyetToanNoiBoChungTu",
                    type: "post",
                    contentType: "application/json",
                    data: JSON.stringify({
                        quyetToanNoiBoId: quyetToanNoiBoId
                    }),
                    success: function(data) {
                        $('#spQuyetToanNoiBoChungTu').html('');
                        $('#QuyetToanNoiBo').jtable(
                            'load',
                            { hopDongId: _hopDongId }
                        );
                    }
                });
            }
        }

        function LoadTotalQuyetToan() {
            $.ajax({
                url: "QuyetToan.aspx/GetTotalQuyetToan",
                type: "post",
                contentType: "application/json",
                data: JSON.stringify({
                    hopDongId: _hopDongId
                }),
                success: function(data) {
                    $("#totalVatTuQuyetToan").text(custom_number_format(data.d.TotalVatTuQuyetToan));
                    $("#totalNhanCongQuyetToan").text(custom_number_format(data.d.TotalNhanCongQuyetToan));
                }
            });
        }
    </script>
</asp:Content>
